MySQL5.7 二进制源码包安装

        一般平时安装MySQL都是源码包安装的,但是由于它的编译需要很长的时间,所以建议安装二进制免编译包。可以到MySQL官方网站去下载,也可以到comsenz官方网站下载,还有各大镜像站下载。

下载安装包,并安装依赖包

1
2
wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz
yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt libtool bison

解压

1
2
tar zxvf mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.7.12-linux-glibc2.5-x86_64 /usr/local/mysql

初始化

1
2
3
4
5
useradd -M -s /sbin/nologin mysql
mkdir -p /data/mysql
chown mysql /data/mysql
cd /usr/local/mysql
./bin/mysqld --initialize --user=mysql --datadir=/data/mysql

        注意,这一步最后一行会有一个提示

1
[Note] A temporary password is generated for root@localhost: B*s1i(*,kXwg

        最后面的字符串为root密码

1
./bin/mysql_ssl_rsa_setup --datadir=/data/mysql

拷贝配置文件和启动脚本

1
2
3
4
5
6
7
8
9
10
11
cp support-files/my-default.cnf /etc/my.cnf
vim /etc/my.cnf //编辑或者修改
basedir = /usr/local/mysql
datadir = /data/mysql
port = 3306
socket = /tmp/mysql.sock
cp support-files/mysql.server /etc/init.d/mysqld
vi /etc/init.d/mysqld //编辑或者修改
basedir=/usr/local/mysql
datadir=/data/mysql

启动服务

1
/etc/init.d/mysqld start

设置root密码

        使用初始化密码登录

1
2
/usr/local/mysql/bin/mysql -uroot -p'B*s1i(*,kXwg' //进入后直接设置密码
mysql>set password = password('mypass'); //一定要设置一下新密码

        退出来,再使用新的密码登录就可以了

        还有一种情况,就是不知道初始化密码

1
vim /etc/my.cnf

        在 [mysql] 下面增加一行

1
skip-grant-tables

        重启mysql

1
/etc/init.d/mysqld restart

        这时登录mysql不需要密码,进入mysql重新设置root密码

1
2
/usr/local/mysql/bin/mysql -uroot
mysql> update user set authentication_string=password('123333') where user='root';

        退出来后,更改my.cnf,去掉刚加的skip-grant-tables

        再次重启mysql

1
/etc/init.d/mysqld restart

        此时就可以使用新的密码登录了。